package FD;

import FD.Beans.Cliente;
import FD.Beans.Combo;
import FD.Beans.DetallePedido;
import FD.Beans.Direccion;
import FD.Beans.Pedido;
import FD.Beans.Usuario;
import FD.Controllers.FDController;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.ejb.Stateless;

@WebService(serviceName = "FDWedServices")
@Stateless()
public class FDWedServices {

    /***********SERVICIOS PARA USUARIOS***************/
    @WebMethod(operationName = "CrearUsuario")
    public boolean CrearUsuario(@WebParam(name = "usuario") Usuario usuario) {

        return FDController.getGestorUsuarios().crearUsuario(usuario);
    }

    @WebMethod(operationName = "ActualizarUsuario")
    public boolean ActualizarUsuario(@WebParam(name = "usuario") Usuario usuario) {

        return FDController.getGestorUsuarios().actualizarUsuario(usuario);
    }

    @WebMethod(operationName = "ActivarDesactivarUsuario")
    public boolean ActivarDesactivarUsuario(@WebParam(name = "usuario") Usuario usuario) {

        return FDController.getGestorUsuarios().activaDesactivaUsuario(usuario);
    }

    @WebMethod(operationName = "CrearDireccion")
    public boolean CrearDireccion(@WebParam(name = "direccion") Direccion direccion) {

        return FDController.getGestorDirecciones().crearDireccion(direccion);
    }

    @WebMethod(operationName = "ActualizarDireccion")
    public boolean ActualizarDireccion(@WebParam(name = "direccion") Direccion direccion) {

        return FDController.getGestorDirecciones().actualizarDireccion(direccion);
    }

    /***********SERVICIOS PARA CLIENTES***************/
    @WebMethod(operationName = "CrearCliente")
    public boolean CrearCliente(@WebParam(name = "cliente") Cliente cliente) {

        return FDController.getGestorClientes().crearCliente(cliente);
    }

    @WebMethod(operationName = "ActualizarCliente")
    public boolean ActualizarCliente(@WebParam(name = "cliente") Cliente cliente) {

        return FDController.getGestorClientes().actualizarCliente(cliente);
    }

    @WebMethod(operationName = "ActivarDesactivarCliente")
    public boolean ActivarDesactivarCliente(@WebParam(name = "cliente") Cliente cliente) {

        return FDController.getGestorClientes().activaDesactivaCliente(cliente);
    }

    /***********SERVICIOS PARA COMBOS***************/
    @WebMethod(operationName = "CrearCombo")
    public boolean CrearCombo(@WebParam(name = "combo") Combo combo) {

        return FDController.getGestorCombos().crearCombo(combo);
    }

    @WebMethod(operationName = "ActualizarCombo")
    public boolean ActualizarCombo(@WebParam(name = "combo") Combo combo) {

        return FDController.getGestorCombos().actualizarCombo(combo);
    }

    @WebMethod(operationName = "ActivarDesactivarCombo")
    public boolean ActivarDesactivarCombo(@WebParam(name = "combo") Combo combo) {

        return FDController.getGestorCombos().activaDesactivaCombo(combo);
    }

    /***********SERVICIOS PARA PEDIDOS***************/
    @WebMethod(operationName = "CrearPedido")
    public boolean CrearPedido(@WebParam(name = "pedido") Pedido pedido) {

        return FDController.getGestorPedidos().crearPedido(pedido);
    }

    @WebMethod(operationName = "CrearDetallePedido")
    public boolean CrearDetallePedido(@WebParam(name = "detallePedido") DetallePedido[] detallePedido) {

        return FDController.getGestorPedidos().crearDetallePedido(detallePedido);
    }

    @WebMethod(operationName = "ActualizarPedido")
    public boolean ActualizarPedido(@WebParam(name = "pedido") Pedido pedido) {

        return FDController.getGestorPedidos().actualizarPedido(pedido);
    }

    @WebMethod(operationName = "iniciarSession")
    public Usuario iniciarSession(@WebParam(name = "usuario") Usuario usuario) {

        return FDController.getGestorUsuarios().iniciarSession(usuario);
    }
}
